1. Technical Field
The present invention relates generally to an improved data processing system and, in particular, to a method, system and computer program product for optimizing performance in a data processing system. Still more particularly, the present invention provides a method, system, and computer program product for storage pools with write atomicity.
2. Description of Related Art
One of the key measurements of computer application performance is how quickly computer applications can recover from an unexpected system halt. Unexpected system halts come from a variety of sources ranging from software failures to hardware failures to environmental factors, such as power outages. Complex computer applications, such as file systems and databases, maintain the state of transactions and logs of in-process transactions to files. After an abrupt failure, restoring the state of transactions and restarting the transactions stored in buffers can take a significant amount of time.
Complicating this environment is the fact that computer applications have minimal control over how in-flight transactions are processed by other software layers, particularly the operating system. A partial write is defined as successfully writing only a fraction of the data requested, which is particularly troublesome in this context. The possibility of partial writes significantly complicates computer application recovery code and recovery times because the computer application must recognize that a transaction may have been partially completed, check if this is true, and then initiate recovery if the transaction was only partially completed. Recovery is accomplished by either completing the partial transaction, or by removing it in its entirety by setting specific flags in persistence storage. All of this complexity could be avoided if writes were atomic, such that the write is either successful totally or not at all.
Therefore, it would be advantageous to have an improved method, system, and computer program product for storage pools with write atomicity.